Недавно принесли проект на аудит, насколько он готов для запуска в прод. Вроде бы ничего сложного: бекенд, фронт, мобилка и немного вспомогательных штук. Но оказалось, что весь этот функционал размазан по 50+ репозиториям.
• Половина репозиториев заброшена или содержит только заготовки. • В некоторых лежат скрипты для ручного вытягивания и сборки соседних реп – это же явный признак, что что-то пошло не так.
Мы не раз говорили: если нет веских причин дробить код – начинайте с монорепозитория. Так проще контролировать зависимости, синхронизировать изменения и поддерживать проект (закон Конвея все еще работает). А когда действительно понадобится — тогда уже можно будет выдернуть кусок в отдельный репозиторий.
Я и сам когда-то плодил репы, зачем-то даже вытаскивал внутренние части приложения наружу, но даже не смог себе честно ответить зачем я так сделал. Поэтому если хотите сэкономить время разработки — не дробите заранее.
Недавно принесли проект на аудит, насколько он готов для запуска в прод. Вроде бы ничего сложного: бекенд, фронт, мобилка и немного вспомогательных штук. Но оказалось, что весь этот функционал размазан по 50+ репозиториям.
• Половина репозиториев заброшена или содержит только заготовки. • В некоторых лежат скрипты для ручного вытягивания и сборки соседних реп – это же явный признак, что что-то пошло не так.
Мы не раз говорили: если нет веских причин дробить код – начинайте с монорепозитория. Так проще контролировать зависимости, синхронизировать изменения и поддерживать проект (закон Конвея все еще работает). А когда действительно понадобится — тогда уже можно будет выдернуть кусок в отдельный репозиторий.
Я и сам когда-то плодил репы, зачем-то даже вытаскивал внутренние части приложения наружу, но даже не смог себе честно ответить зачем я так сделал. Поэтому если хотите сэкономить время разработки — не дробите заранее.
BY StringConcat - разработка без боли и сожалений
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
That growth environment will include rising inflation and interest rates. Those upward shifts naturally accompany healthy growth periods as the demand for resources, products and services rise. Importantly, the Federal Reserve has laid out the rationale for not interfering with that natural growth transition.It's not exactly a fad, but there is a widespread willingness to pay up for a growth story. Classic fundamental analysis takes a back seat. Even negative earnings are ignored. In fact, positive earnings seem to be a limiting measure, producing the question, "Is that all you've got?" The preference is a vision of untold riches when the exciting story plays out as expected.
What is Secret Chats of Telegram
Secret Chats are one of the service’s additional security features; it allows messages to be sent with client-to-client encryption. This setup means that, unlike regular messages, these secret messages can only be accessed from the device’s that initiated and accepted the chat. Additionally, Telegram notes that secret chats leave no trace on the company’s services and offer a self-destruct timer.
StringConcat разработка без боли и сожалений from ar